Skip to content

feat(generate): immutable attributes are create-authoritative on split update bodies - #115

Merged
ShocOne merged 1 commit into
mainfrom
feat/immutable-create-authoritative
Aug 5, 2026
Merged

feat(generate): immutable attributes are create-authoritative on split update bodies#115
ShocOne merged 1 commit into
mainfrom
feat/immutable-create-authoritative

Conversation

@ShocOne

@ShocOne ShocOne commented Aug 5, 2026

Copy link
Copy Markdown
Member

Needed by the endpoint curation wave in terraform-provider-thousandeyes: the endpoint scheduled tests' update models declare a fraction of their create fields (username, password, tagIds, sslVersionId… exist only on the create request), and the emitter reused one assignment list against both bodies — which bindings check rightly refused, suggesting exactly this: "skip this attribute on expand or model it create-authoritative."

Now an attribute with behaviour.immutable: true reaches the create body and never a split update body. RequiresReplace — driven by the same field, triple-gated on probe evidence — owns changes; the update body omits the field; the checker's update-body verification mirrors the emitter.

Same-body resources are untouched (the gate fires only when the body splits), so both pilots hold byte-identical — verified by their drift checks. Unit-pinned in the fluent construct tests; all suites green.

🤖 Generated with Claude Code

…plit update body

The endpoint scheduled tests' update models declare a fraction of their
create fields -- username, password, tag ids and their kin exist only at
create -- and the emitter reused one assignment list against both bodies,
which the bindings check rightly refused. An attribute the evidence marks
immutable now reaches the create body and never a split update body:
RequiresReplace, driven by the same Behaviour.Immutable, owns changes,
and the update body simply omits the field. The checker's update-body
verification skips immutable attributes for the same reason, naming the
emitter behaviour it mirrors.

Same-body resources are untouched -- the gate fires only on a split
update body -- so both pilots hold byte-identical.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ShocOne
ShocOne merged commit ea41ff8 into main Aug 5, 2026
@ShocOne
ShocOne deleted the feat/immutable-create-authoritative branch August 5, 2026 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant